$(function(){
	var $tabList=$("#tab_list"),$pagebar=$("#pagebar ul"),$pageInfo=$("#page_info"),
		pageNo=1,pageSize=10,count=0;//初始值
	/**---------------封装分页方法,count:总条目数,pageNo:当前页---------------*/
	function pageit(count){
		$pagebar.empty();
		//首页和上一页
		if(pageNo==1){
			$pagebar.append("<li id='start_page' class='disabled'><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page'  class='disabled'><a href='javascript:void(0);'>上一页</a></li>");
		}else{
			$pagebar.append("<li id='start_page' pn=1><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page' pn="+(pageNo-1)+"><a href='javascript:void(0);'>上一页</a></li>");
		}
		var tmp=parseInt(count/10);
		var page_size=count%10==0?(tmp):(tmp+1);//总页数
		//中间数字页
		if(page_size<=5){
			//如果小于5页,则全部显示
			for(var i = 0; i <page_size; i++) {
				if(i==pageNo-1){
					$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
				}else{
					$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
				}
			}
		}else{
			//如果总页数大于5页,显示当前页和前后各两页以及两个...符号
			if(pageNo<3){
				for(var i = 0; i <5; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
			}else if(pageNo>page_size-2){
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
				for(var i = page_size-5; i <page_size; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
			}else{
				for (var i = pageNo-3; i <pageNo+2; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(pageNo)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
			}
		}
		//下一页和末页
		if(page_size==0||pageNo==page_size){
			$pagebar.append("<li id='next_page' class='disabled'><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' class='disabled'><a href='javascript:void(0);'>末页</a></li>");
		}else{
			$pagebar.append("<li id='next_page' pn="+(pageNo+1)+"><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' pn="+page_size+"><a href='javascript:void(0);'>末页</a></li>");
		}
		
		//绑定事件
		$pagebar.find("li").not(".disabled").on("click",function(){
			pageNo=parseInt($(this).attr("pn"));//更新当前页码
			reloadList();
		});
		//分页信息条
		$pageInfo.find("span").each(function(i,k){
			if(i==0){
				if(page_size==0){
					$(k).html(0);
				}else{
					$(k).html((pageNo-1)*10+1);
				}
			}else if(i==1){
				$(k).html(count>pageNo*10?pageNo*10:count);
			}else{
				$(k).html(count);
			}
		});
	}
	/**------------------加载列表---------------------*/
	var params={"pageNo":1,"pageSize":pageSize,"horoscope":null,"type":null};
	function reloadList(){
		params.pageNo=pageNo;
		params.pageSize=pageSize;
		params.horoscope=$("#search_horoscope").val();
		params.type=$("#search_type").val();
		$.get(serverURL+"fortune/list",params,function(data){
//			data=$.parseJSON(data);
			try {
				if(data.code==0){
					data=data.data;
					$tabList.find("tbody").empty();
					count=data.pagination.totalCount;
					if(count>0){
						var html="";
						$.each(data.list,function(i,k){
							html+="<tr>" +
							"<td id='pkc'><input type='checkbox' id='"+k.id+"' class='checkbox' col='"+i+"' ></td>" +
							"<td>"+((pageNo-1)*10+i+1)+"</td>" +
							"<td>"+k.horoscope+"</td>"+ 
							"<td>"+(k.type==0?"本日运势":(k.type==1?"本周运势":"本月运势"))+"</td>"+ 
							"<td>"+k.startDate+"</td>"+ 
							"<td>"+k.endDate+"</td>"+ 
							"<td>"+k.lucky+"</td>"+ 
							"<td>"+k.color+"</td>"+ 
							"<td>"+k.number+"</td>"+ 
							"<td>"+k.matchHoroscope+"</td>"+ 
							"<td>"+"<div style='width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;'>"+k.description+"</div></td>"+ 
							"</tr>";
						});
						$tabList.find("tbody").append(html);
//						$(".tools button").removeAttr("disabled");
						
						$("tr").find("#pkc :checkbox").click(function(){
							selectItem(this);
						});
						
					}else{
						$tabList.find("tbody").append("<tr><td colspan="+$("thead th").length+">无数据</td></tr>");
//						$(".tools button").not(".btn-default").attr("disabled","disabled");
					}
					pageit(count);//重绘工具栏
				}else if(data.code!=-1){
					alert("数据加载出错，请稍后重试");
				}
			} catch (e) {
				alert("数据加载出错，请稍后重试");
			}
		});
	}
	reloadList();
	//全选与取消全选
	$("#pkall").change(function(){
		if($(this).prop("checked")){
			$tabList.find("#pkc :checkbox").prop("checked",true);
		}else{
			$tabList.find("#pkc :checkbox").prop("checked",false);
		}
	});
	//获取选中的行
	function getSelectedCols(){
		return $tabList.find("#pkc :checkbox").filter(":checked");
	}
    
    /**---------------修改星座信息-----------------*/
	  var $formEdit=$("#form_edit"),$editId=$formEdit.find("[name=id]"),$editHoroscope=$formEdit.find("[name=horoscope]"),
	  $editLucky=$formEdit.find("[name=lucky]"),$editNumber=$formEdit.find("[name=number]"),$editColor=$formEdit.find("[name=color]"),
	  $editStartDate=$formEdit.find("[name=startDate]"),$editEndDate=$formEdit.find("[name=endDate]"),
	  $editMatchHoroscope=$formEdit.find("[name=matchHoroscope]"),$editDescription=$formEdit.find("[name=description]");
	    function checkEditForm() {
		if (!$editDescription.val()) {
			warnInput($editDescription);
			return false;
		}
//		if ($editDescription.val().length > 20) {
//			alert("综合概述不能超过20个字符");
//			return false;
//		}
		if (!$editNumber.val()) {
			warnInput($editNumber);
			return false;
		}
		var reg=/^([0-9]|[0-9]{2}|100)$/;
		if(!reg.test($editNumber.val())||parseInt($editNumber.val())>100){
			alert("幸运数字不符合规则，必须为100以内的数字！");
			return false;
    	}
		if (!$editLucky.val()) {
			warnInput($editLucky);
			return false;
		}
		var rev=/^[0-5]$/;
		if(!rev.test($editLucky.val())||parseInt($editLucky.val())>5){
			alert("运势不符合规则，必须为5以内的数字！");
			return false;
		}
		if (!$editColor.val()) {
			warnInput($editColor);
			return false;
		}
		var req = /^([A-Za-z]|[\u4E00-\u9FA5])+$/;
		if(!req.test($editColor.val())){
			alert("幸运颜色只能为汉字和字母！");
			return false;
		}
		if($editColor.val().length > 10){
			alert("幸运颜色不能超过10个字符");
			return false;
		}
		return true;
	}  

	    $("#btn_edit").click(function() {
		// 获取选中的行
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length != 1) {
			alert("请选择一条记录预览");
			return;
		}
		var id = $curCol[0].id;
		// 给隐藏域id赋值
		$("#edit_id").val(id);
		// 从后台获取该条记录所有信息
		$.get(serverURL + "fortune/get", {"id": id}, function(data) {
			if (data.code == 0) {
				data = data.data;
				$editHoroscope.val(data.horoscope);
				$editLucky.val(data.lucky);
				$editNumber.val(data.number);
				$editColor.val(data.color);
				$editMatchHoroscope.val(data.matchHoroscope);
				$editDescription.val(data.description);
				$("#modal_edit").modal("show");
			} else {
				alert("星座信息加载失败");
			}
		});
	});
	    $("#btn_confirm_edit").click(function(){
	    	//表单验证
	    	if(checkEditForm()){
				$.post(serverURL+"fortune/modify",{"id":$editId.val(),"lucky":$editLucky.val(),"number":$editNumber.val(),"color":$editColor.val(),
					"matchHoroscope":$editMatchHoroscope.val(),"description":$editDescription.val()},function(data){
//					data=$.parseJSON(data);
					if(data.code==0){
						alert("修改成功");
						$('#modal_edit').modal('hide');//隐藏模态框
						$formEdit.get(0).reset();
						reloadList();
					}
				});
			}
	    });
	    
	/**
	 * ---------------删除----------------- $("#btn_del").click(function(){ new
	 * $.zui.Messager('该功能是否需要还待确定！', {placement: 'top',type:'warning'}).show();
	 * });
	 */
	/**---------------生成excel模板-----------------*/ 
	$("#btn_downloadExcel").click(function(){	
		window.location.href=serverURL+"fortune/downloadExcelModel";
	});
	/**---------------导入excel文件-----------------*/
	var $file=$("#form_import input:file");
	var fileRegxls=/^.+(\.xls|\.xlsx)$/;
//	var fileRegxlsx=/^.+(\.xlxs)$/;
	$("#btn_excel_import").click(function(){
		if(!fileRegxls.test($file.val())){
    		warnInput($file);
			return false;
    	}
		$("#form_import").ajaxSubmit({  
			dataType:'json',
			type:'post',
	        success:function(data){
	        	if(data.code==0){
	        		alert("文件导入成功！");
	        		$('#modal_import').modal('hide');//隐藏模态框
	        		reloadList();
	        	}else if(data.code!=-1){
	        		alert("文件导入失败，请重试");
	        		$("#form_import").get(0).reset();
	        	}
	        } 
		});
	});
	/**---------------查询-----------------*/
	$("#btn_search").click(function(){
		params.horoscope=$("#search_horoscope").val();
		params.type=$("#search_type").val();
		pageNo=1;
		reloadList();
		return false;
	});
	/**---------------重置-----------------*/
	$("#btn_reset").click(function(){
		$("#form_search").get(0).reset();
		pageNo=1;
		reloadList();
		return false; 
	});
});


function selectItem(item){
	$("#tab_list").find("#pkc [id='"+item.id+"']").prop("checked",function(i, val){
		$("#tab_list").find("#pkc [id !='"+item.id+"']").prop("checked",false);
	})
}


		